PHP 数据类型转换
在PHP语言之中,主要存在两种类型转换,分别为隐式类型转换和显式类型转换两种,而在通常的编程语言中。主要称隐式类型转换为“自动类型转换”,而显式类型转换主要被称之为“强制类型转换”两种。
自动类型转换(隐式类型转换)
数值+字符串 (字符串)!
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = 10; $two = 'String'; echo $one,$two; ?> </body> </html>
|
此时原本的$one变量是一个整数的,但经过于字符串变量“two”连接,将会被自动转换为字符串类型。
字符串+字符串 (整型)!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>data</title> </head> <body> <?php $one = "1"; // 字符串 $two = "a"; // 字符串 $num = $one + $two; echo "$num"; ?> </body> </html>
|
此时经过隐式类型转换,“1”与“a”相加,输出结果为“1”,将会被自动转换为“整型”
字符串+浮点数(浮点型)!
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = "1"; $two = $one + 3.14; echo "$two"; ?> </body> </html>
|
经过字符串与浮点数的相加,最后得出的结果类型将会被自动转换成‘**”整数型”**
强制类型转换(显性类型转换)
整型 (int)
字符串转整型 (int)
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (int)"hello,world!"; echo "$one"; ?> </body> </html>
|
浮点型转整型
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (int)3.14; echo "$one"; ?> </body> </html>
|
布尔转整型
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (int)false; echo "$one"; ?> </body> </html>
|
字符串(int)
整型转字符串
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (string)10; echo "$one"; ?> </body> </html>
|
浮点型转字符串
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (string)3.14; echo "$one"; ?> </body> </html>
|
浮点型 (float)
整型转浮点型
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (float)3; // 浮点型结果为 3.00 echo "$one"; ?> </body> </html>
|
布尔型(bool,boolean)
变量为布尔型 (bool)!
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (bool)1; // 经过布尔转换值应为“true” echo "$one"; ?> </body> </html>
|
变量为布尔型 (boolean)
1 2 3 4 5 6 7 8 9 10 11 12 13
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $one = (boolean)0; // 经过布尔转换值应为“false” echo "$one"; ?> </body> </html>
|
数组转字符串
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <body> <?php $arrayName = array('key1' => 1,'key2' => 2,'key3' => 3); extract($arrayName); echo "$key1"; ?> </body> </html>
|
| ID |
DA |
FA |
| (int),(integer) |
转换为整型 |
整型 |
|
|
|
| (string) |
转换为字符串 |
字符串 |
|
|
|
| (float),(double),(real) |
转换为浮点型 |
浮点型 |
|
|
|
| (bool),(boolean) |
转换为布尔 |
布尔型 |
|
|
|
| (array) |
转换为数组 |
数组 |
| extract |
数组转字符串 |
|
|
|
|
| (object) |
转换为对象 |
对象 |
⬅️ Go back